﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using ControlStock.Dominio;
using ControlStock.Servicio;
 
namespace ControlStock
{
    public partial class Articulomodificacion : System.Web.UI.Page
    {
        ArticuloServicio servicioArticulos;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["id_Usuario"] == null)
                Response.Redirect("index.aspx");
            if (!Page.IsPostBack)
            {
                ddltipo.DataSource = Enum.GetNames(typeof(TipoArticulo));
                ddltipo.DataBind();
                servicioArticulos = new ArticuloServicio();
                if (Request["id"] == null)
                {
                    GvArticulos.DataSource = servicioArticulos.Listar(Convert.ToString(Session["Tipo_Usuario"]));
                    GvArticulos.DataBind();
                }
                else
                {
                    //string tipousu = Convert.ToString(Session["Tipo_Usuario"]);
                    Articulos Articulo = servicioArticulos.buscar(Convert.ToInt32(Request["id"]), Convert.ToString(Session["Tipo_Usuario"]));
                    GvArticulos.Visible = false;
                    txtidarticulo.Text = Articulo.Id_Art.ToString();
                    TxtDescripcion.Text = Articulo.Descripcion_Art;
                    txtprecio.Text = Articulo.Precio_Art.ToString();
                    ddltipo.SelectedValue = Articulo.Tipo_Art.ToString();
                    ddlestado.SelectedValue = Articulo.Estado_Art.ToString();
                    txtCantidad.Text = Articulo.Cantidad_Art.ToString();
                }
            }
        }

        protected void GvArticulos_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (GvArticulos.SelectedIndex > -1)
            {
                txtidarticulo.Text = GvArticulos.SelectedRow.Cells[0].Text;
                TxtDescripcion.Text = GvArticulos.SelectedRow.Cells[1].Text;
                txtprecio.Text = GvArticulos.SelectedRow.Cells[2].Text;
                ddltipo.SelectedValue = GvArticulos.SelectedRow.Cells[3].Text;
                ddlestado.SelectedValue = GvArticulos.SelectedRow.Cells[4].Text;
            }
        }

        protected void btnmodificar_Click(object sender, EventArgs e)
        {
            servicioArticulos = new ArticuloServicio();
            Articulos Articulo = servicioArticulos.buscar(Convert.ToInt32(txtidarticulo.Text), Convert.ToString(Session["Tipo_Usuario"]));
            Articulo.Descripcion_Art = TxtDescripcion.Text;
            Articulo.Cantidad_Art = Convert.ToInt32(txtCantidad.Text);
            Articulo.Estado_Art = ddlestado.SelectedItem.Text == "Activo" ? true : false;
            Articulo.Precio_Art = Convert.ToDouble(txtprecio.Text);
            Articulo.Tipo_Art = (TipoArticulo)Enum.Parse(typeof(TipoArticulo), ddltipo.SelectedValue);
            servicioArticulos.ModificarArt(Articulo);
            Response.Redirect("Articulomodificacion.aspx");
        }

        protected void GvArticulos_RowEditing(object sender, GridViewEditEventArgs e)
        {
            Response.Redirect("Articulomodificacion.aspx?id="+ GvArticulos.Rows[e.NewEditIndex].Cells[1].Text); 
        }
    }
}
